﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;

namespace TumbaloSoft.Models
{
    public class Persona
    {
        private string ruc;
        private int idPersona;
        private string direccion;
        private string email;
        private string telefono;
        private int idTipoPersona;
        private string estado;

        public int prIdTipoPersona
        {
            get { return idTipoPersona; }
            set { idTipoPersona = value; }
        }
 

        public string prEstado
        {
            get { return estado; }
            set { estado = value; }
        }


        [Required(ErrorMessage = "Se requiere saber la direccion")]
        [StringLength(400, ErrorMessage = "Se requiere un maximo de 400 caracteres para la direccion")]
        public string prDireccion
        {
            get { return direccion; }
            set { direccion = value; }
        }

        /// <summary>
        /// </summary>
        /// 
        //[DataType(DataType.EmailAddress, ErrorMessage = "Se requiere un email valido")]
        //[RegularExpression(@"^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-‌​]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$", ErrorMessage = "Email is not valid")]
     
        [RegularExpression(@"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$", ErrorMessage = "Se requiere un email valido. Ejemplo: alguien@ejemplo.com")]
       // [RegularExpression(@"^(([^<>()[\]\\.,;:\s@\""]+(\.[^<>()[\]\\.,;:\s@\""]+)*)|(\"".+\""))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$", ErrorMessage = "Se requiere un email valido")]
        public string prEmail
        {
            get { return email; }
            set { email = value; }
        }

        [RegularExpression(@"\d+", ErrorMessage = "Se requiere usar numeros")]
        [MinLength(7,ErrorMessage="Se requiere usar 7 digitos")]
        public string prTelefono
        {
            get { return telefono; }
            set { telefono = value; }
        }

         [Required(ErrorMessage = "Se requiere el código del propietario")]
        public int prIdPersona
        {
            get { return idPersona; }
            set { idPersona = value; }
        }

        [RegularExpression(@"\d+", ErrorMessage = "Se requiere usar numeros")]
        [MinLength(11,ErrorMessage="Se requiere usar 11 digitos")]
        public string prRuc
        {
            get { return ruc; }
            set { ruc = value; }
        }   



    }
}